#ifndef TEST_INTRINSIC_IMAGE_H
#define TEST_INTRINSIC_IMAGE_H 1

class TestIntrinsicImage
{
public:
	static void testEdgeMap();
	//local shading + edge map
	static void testLocalshadingWidthEdgeMap();
	//least square with pre-create solver
	static void testLeastSquare();

	//
//	static void testExpanding();
	//test iterate expanding with check of minimal shading value
//	static void testIterateExpand();

	//print out CSC matrix to check the format
	static void testSCS_matrix();

	static void testQuadtree();
	

	//test disparity image for image matching
	static void testDisparity();

	static void testComputeDisparity();

	//generate quad tree image could be any size
	static void testGeneralQuadtreeImage();

	//test speed of cholmod solver
	static void testCholmod();

	//test multiple sample
	static void testMultipleScaleSample();
	//test local solver with mouse path
	static void testCvxLocalSolver();

	//test global solver with EMtree
	static void testEMTreeSolver();

	//test local refinement
	static void testLocalRefinement();

	//test leaf number and pixel leaf number in adaptive tree
	static void testAdaptiveQuadTree();

	//show initial shading by quad size
	static void testAdaptiveInitialShading();

	static void testEMTreeWithAdaptiveInitialShading();

	//test continue index in the left and right images
	static void testStereoSolverIndex();

	static void visualizeEMTree();

	//
	static void testMatchAdaptiveTree();

	//
	static void reColorTurtle();

	//
	static void testIterativeSolver();

	//
	static void testEdgeAssumption();

	//
	static void testGiveEdgeNodeGroundTruth();

	static void testEdgeSolver();

	static void testRecolorBird();

	static void testEMTreeSpeed();

	static void testIterativeEdgeSolver();

	static void clusterSingleImage();

	//test quad tree and cluster
	static void testQuadTreeCluster();
	

};

#endif